﻿#region using namespace

using System;
using System.Collections.Generic;
using System.Linq;
using DTO;

#endregion

namespace DAO
{
    public class TuKhoaDichVuDAO
    {
        // tim tu khoa dich vu dua vao ma tu khoa dich vu.
        public List<TuKhoaDichVuDTO> Search(string strInput)
        {
            TuKhoaDichVuDTO tukhoadichvu = null;
            List<TuKhoaDichVuDTO> lsttkduongDTO = getAllTuKhoaDichVu();

            strInput = strInput.Replace(@"'", @"''");

            List<TuKhoaDichVuDTO> lsttkduong = new List<TuKhoaDichVuDTO>();
            
            foreach (TuKhoaDichVuDTO tukhoadichvuDTO in lsttkduongDTO)
            {
                if (strInput.Contains(tukhoadichvuDTO.TuKhoaDichVu) || tukhoadichvuDTO.TuKhoaDichVu.Contains(strInput)) 
                {
                    tukhoadichvu = new TuKhoaDichVuDTO();

                    tukhoadichvu.MaTuKhoaDichVu = tukhoadichvuDTO.MaTuKhoaDichVu;
                    tukhoadichvu.MaDichVu = tukhoadichvuDTO.MaDichVu;
                    tukhoadichvu.TuKhoaDichVu = tukhoadichvuDTO.TuKhoaDichVu;

                    lsttkduong.Add(tukhoadichvu);
                }
            }

            return lsttkduong;
        }

        //lay tat ca cac thuoc tinh cua bang tu khoa dich vu.
        public static List<TuKhoaDichVuDTO> getAllTuKhoaDichVu()
        {
            IList<TUKHOADICHVU> ilsttkdichvu;
            List<TuKhoaDichVuDTO> lsttkykdichvu = new List<TuKhoaDichVuDTO>();
            TuKhoaDichVuDTO tkdichvuDTO = null;

            using (var context = new DataContext(GlobalDatabase.ConnectString))
            {
                ilsttkdichvu = (from tkdichvu in context.TUKHOADICHVUs select tkdichvu).ToList();
            }

            for (int i = 0; i < ilsttkdichvu.Count; i++)
            {
                tkdichvuDTO = new TuKhoaDichVuDTO();

                tkdichvuDTO.MaDichVu = (int)ilsttkdichvu[i].MaDichVu;
                tkdichvuDTO.MaTuKhoaDichVu = ilsttkdichvu[i].MaTuKhoaDichVu;
                tkdichvuDTO.TuKhoaDichVu = ilsttkdichvu[i].TuKhoaDichVu;


                lsttkykdichvu.Add(tkdichvuDTO);
            }

            return lsttkykdichvu;
        }

        
    }
}
